#pragma once
#include "Xps/Object/IObject.h"

namespace Xps
{
    class PingMessage;

    class ACKMessage :
        public IObject
    {
    public:
        ACKMessage(void);

        ACKMessage(const PingMessage *_PingMessage);

        virtual ObjectType getType() const;

        virtual void serialize( boost::archive::binary_oarchive & ar, const unsigned int version );

        virtual void serialize( boost::archive::binary_iarchive & ar, const unsigned int version );

        template<typename Archive>
        void serialize( Archive & ar);

        const float getTimeElapsed() const;


    private:
        long time_elapsed;
    };

    template<typename Archive>
    void ACKMessage::serialize( Archive & ar )
    {
        ar & time_elapsed;
    }
};